package zengqiang.day03.adas

fun main(args: Array<String>) {
    var a=ArrayList<Apple>()
//    setList(a) 此时是不能添加的，因为Apple不是Fruit类型
    setList1(a)
}
fun setList(things:ArrayList<Fruit>){}
//out：接收Fruit或者它的子类 相当于Java的？ extend
fun setList1(things:ArrayList<out Fruit>){}
//in: 接收Fruit或者它的父类，相当于java的? usper
fun setList2(things:ArrayList<in Fruit>){}
//星号投射,代表可以传入任意类型，等效于泛型,此时等效于setList4函数
fun setList3(things:ArrayList<*>){}
fun <T>setList4(things:ArrayList<T>){}


open class Fruit
class Apple:Fruit()